package org.sscn.persistence.entities;

// Generated Aug 12, 2013 12:44:57 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonIgnore;

/**
 * RefInstansi generated by hbm2java
 */
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "ref_instansi")
public class RefInstansi implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2689908493854465512L;
	private String kode;
	private String nama;
	private String status;
	private String pilihanJabatan;
	private String pilihanLokasiTest;
	private String pilihanCetakKartu;
	private String spesimenNip;
	private String spesimenNama;
	private String isFinalVerifikasi;
	private Set<DtPengumuman> dtPengumumans = new HashSet<DtPengumuman>(0);
	private Set<MFormasi> MFormasis = new HashSet<MFormasi>(0);
	private Set<DtUser> dtUsers = new HashSet<DtUser>(0);
	

	public RefInstansi() {
	}

	public RefInstansi(String kode, String nama, String status) {
		this.kode = kode;
		this.nama = nama;
		this.status = status;
	}

	public RefInstansi(String kode, String nama, String status,
			Set<DtPengumuman> dtPengumumans, Set<MFormasi> MFormasis,
			Set<DtUser> dtUsers, Set<RefPns> refPnses) {
		this.kode = kode;
		this.nama = nama;
		this.status = status;
		this.dtPengumumans = dtPengumumans;
		this.MFormasis = MFormasis;
		this.dtUsers = dtUsers;
//		this.refPnses = refPnses;
	}

	@Id
	@Column(name = "KODE", unique = true, nullable = false, length = 4)
	public String getKode() {
		return this.kode;
	}

	public void setKode(String kode) {
		this.kode = kode;
	}

	@Column(name = "NAMA", nullable = false, length = 70)
	public String getNama() {
		return this.nama;
	}

	public void setNama(String nama) {
		this.nama = nama;
	}

	@Column(name = "STATUS", nullable = false, length = 1)
	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	@JsonIgnore
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "refInstansi")
	public Set<DtPengumuman> getDtPengumumans() {
		return this.dtPengumumans;
	}

	public void setDtPengumumans(Set<DtPengumuman> dtPengumumans) {
		this.dtPengumumans = dtPengumumans;
	}

	
	@JsonIgnore
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "refInstansi")
	public Set<MFormasi> getMFormasis() {
		return this.MFormasis;
	}

	public void setMFormasis(Set<MFormasi> MFormasis) {
		this.MFormasis = MFormasis;
	}

	@JsonIgnore
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "refInstansi")
	public Set<DtUser> getDtUsers() {
		return this.dtUsers;
	}

	public void setDtUsers(Set<DtUser> dtUsers) {
		this.dtUsers = dtUsers;
	}
	
	@Column(name = "JUMLAH_MAX_DAFTAR", nullable = true, length = 1)
	public String getPilihanJabatan() {
		return this.pilihanJabatan;
	}

	public void setPilihanJabatan(String status) {
		this.pilihanJabatan = status;
	}
	
	@Column(name = "PILIHAN_LOKASI_TEST", nullable = true, length = 1)
	public String getPilihanLokasiTest() {
		return this.pilihanLokasiTest;
	}

	public void setPilihanLokasiTest(String status) {
		this.pilihanLokasiTest = status;
	}
	
	@Column(name = "PILIHAN_CETAK_TEST", nullable = true, length = 1)
	public String getPilihanCetakKartu() {
		return this.pilihanCetakKartu;
	}

	public void setPilihanCetakKartu(String status) {
		this.pilihanCetakKartu = status;
	}

	@Column(name = "SPESIMEN_NIP", nullable = true)
	public String getSpesimenNip() {
		return this.spesimenNip;
	}

	public void setSpesimenNip(String nip) {
		this.spesimenNip = nip;
	}
	
	@Column(name = "SPESIMEN_NAMA", nullable = true)
	public String getSpesimenNama() {
		return this.spesimenNama;
	}

	public void setSpesimenNama(String nama) {
		this.spesimenNama = nama;
	}

	@Column(name = "IS_FINAL_VERIFIKASI", nullable = true, length = 1)
	public String getIsFinalVerifikasi() {
		return isFinalVerifikasi;
	}

	public void setIsFinalVerifikasi(String isFinalVerifikasi) {
		this.isFinalVerifikasi = isFinalVerifikasi;
	}
	
	
}
